package com.thinkverse.paper.entity;

import com.thinkverse.common.entity.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.List;

/**
 * 论文实体类
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class Paper extends BaseEntity {
    
    /**
     * 论文标题
     */
    private String title;
    
    /**
     * 论文摘要
     */
    private String abstractText;
    
    /**
     * 关键词
     */
    private String keywords;
    
    /**
     * 作者列表
     */
    private List<String> authors;
    
    /**
     * 第一作者
     */
    private String firstAuthor;
    
    /**
     * 通讯作者
     */
    private String correspondingAuthor;
    
    /**
     * 发表期刊/会议
     */
    private String journal;
    
    /**
     * 发表年份
     */
    private Integer publishYear;
    
    /**
     * 卷号
     */
    private String volume;
    
    /**
     * 期号
     */
    private String issue;
    
    /**
     * 页码
     */
    private String pages;
    
    /**
     * DOI
     */
    private String doi;
    
    /**
     * 论文类型（JOURNAL：期刊论文，CONFERENCE：会议论文，THESIS：学位论文）
     */
    private String paperType;
    
    /**
     * 论文状态（DRAFT：草稿，SUBMITTED：已提交，PUBLISHED：已发表）
     */
    private String status;
    
    /**
     * 文件URL
     */
    private String fileUrl;
    
    /**
     * 文件大小（字节）
     */
    private Long fileSize;
    
    /**
     * 文件类型
     */
    private String fileType;
    
    /**
     * 下载次数
     */
    private Integer downloadCount;
    
    /**
     * 引用次数
     */
    private Integer citationCount;
    
    /**
     * 研究方向
     */
    private String researchField;
    
    /**
     * 论文等级（1-5星）
     */
    private Integer rating;
}
